$(document).ready(function() {
	buscaTipoEspecialidade = function(val){
		if(val != ""){
			$.post('tipoEspecialidade.php'
				   ,{id:val}
				   ,function(data){
					   $("#ID_TIPO_ESPECIALIDADE").html(data);
					}
			);
		}
	}
	,
	buscaPeca = function(val){
		if(val != ""){
			$.post('pecas.php'
				   ,{id:val}
				   ,function(data){
					   $("#ID_PECA").html(data);
					}
			);
		}
	}
	,
	add = function(val){
		if(val != "" && val != null){
			$.post('buscaTipoEspecialidade.php',
					{id : val},
					function(data){
						oTableServico.fnAddData(["<input type='hidden' name='TIPO_ESPECIALIDADE[]' value='"+val+"'/>"+$("#ID_ESPECIALIDADE option:selected").text()
						                 ,$("#ID_TIPO_ESPECIALIDADE option:selected").text()
						                 ,number_format( data, '2', ',', '.' )
						                 ,"<img src='../includes/images/excluir.png' alt='Excluir' onclick='rm(\""+ data +"\",$(this).closest(\"tr\").get(0));'>"
						                 ]);

						adicioValor(data);
						
						$('#ID_ESPECIALIDADE').find('option[value=""]').attr('selected',true);
						$("#ID_TIPO_ESPECIALIDADE").empty();
					}
			);
		}		
	}
	,
	rm = function(vlr, row){
		if(confirm("Confirma a exclusão?")){
			oTableServico.fnDeleteRow(oTableServico.fnGetPosition(row));
			removeValor(vlr);
		}
	}
	,
	addPeca = function(idPeca){
		if(idPeca != "" && idPeca != null){
			if($('#qtdPeca').val() != '' && $('#qtdPeca').val() != null){
				$.post('buscaPeca.php',
						{id : idPeca},
						function(data){
							var qtdPeca = $('#qtdPeca').val();
							var vlrTotal = multiplicaValor(number_format(data,'2',',', '.'), qtdPeca);
							oTablePecas.fnAddData(["<input type='hidden' name='PECA[]' value='"+idPeca+"="+qtdPeca+"'/>"+$("#ID_CATEGORIA_PECA option:selected").text()
							                 ,$("#ID_PECA option:selected").text()
							                 ,number_format(data,'2',',','.')
							                 ,qtdPeca
							                 ,number_format(vlrTotal,'2',',','.')
							                 ,"<img src='../includes/images/excluir.png' alt='Excluir' onclick='rmPeca(\""+ data +"\",$(this).closest(\"tr\").get(0));'>"
							                 ]);

							adicioValor(vlrTotal);
							
							$('#ID_CATEGORIA_PECA').find('option[value=""]').attr('selected',true);
							$("#ID_PECA").empty();
							$('#qtdEstoque').html('');
							$('#qtdPeca').val('');
						}
				);
			}else{
				alert('informe a quantidade de peças desejada!');
			}
		}		
	}
	,
	adicionarPeca = function(idPeca){
		if(idPeca != "" && idPeca != null){
			if($('#qtdPeca').val() != '' && $('#qtdPeca').val() != null){
				$.post('buscaPeca.php',
						{id : idPeca},
						function(data){
							var qtdPeca = $('#qtdPeca').val();
							var vlrTotal = multiplicaValor(number_format(data,'2',',', '.'), qtdPeca);
							oTablePecas.fnAddData(["<input type='hidden' name='PECA[]' value='"+idPeca+"="+qtdPeca+"'/>"+$("#ID_CATEGORIA_PECA option:selected").text()
							                 ,$("#ID_PECA option:selected").text()
							                 ,number_format(data,'2',',','.')
							                 ,qtdPeca
							                 ,number_format(vlrTotal,'2',',','.')
							                 ,"<img src='../includes/images/excluir.png' alt='Excluir' onclick='rmPeca(\""+ data +"\",$(this).closest(\"tr\").get(0));'>"
							                 ]);

							vlrDesc = vlrTotal - calculaDesconto(vlrTotal, 15);
							$.post('inserePeca.php',
									{idServico:$("#idServico").val(),
									 idPeca:idPeca,
									 qtdPeca:qtdPeca,
									 vlrTotal:vlrTotal,
									 vlrDesc:vlrDesc},
									function(data){
										if(data=="1"){
											alert("Peça inserida com sucesso.");
										}
									}
							);
							
							$('#ID_CATEGORIA_PECA').find('option[value=""]').attr('selected',true);
							$("#ID_PECA").empty();
							$('#qtdEstoque').html('');
							$('#qtdPeca').val('');
						}
				);
			}else{
				alert('informe a quantidade de peças desejada!');
			}
		}		
	}
	,
	rmPeca = function(vlr, row){
		if(confirm("Confirma a exclusão?")){
			oTablePecas.fnDeleteRow(oTablePecas.fnGetPosition(row));
			removeValor(vlr);
		}
	}
	,
	removerPeca = function(idServico, idPeca, row, vlTotal){
		if(confirm("Confirma a exclusão? \nEssa ação é irrevercível.")){
			vlDesc = vlTotal - calculaDesconto(vlTotal, 15);
			$.post('removePeca.php',
					{idServico:idServico,
					idPeca:idPeca,
					vlrTotal:vlTotal,
					vlrDesc:vlDesc},
					function(data){
						if(data == '1'){
							$('#'+row).remove();
							alert("Peça excluída com sucesso.");
						}else{
							alert("Não foi possível excluir a peça.");
						}
					}
			);
		}
	}
	,
	buscaQtd  = function(val){
		if(val != "" && val != null){
			$.post('buscaQtdPeca.php',
				   {id:val},
				   function(data){
					   $('#qtdEstoque').html('Quantidade no estoque: '+data);
				   }
			);
		}else{
			$('#qtdEstoque').html('');
		}
	}
	,
	adicioValor = function(data){
		$('#CONT_SERVICO').val(parseInt($('#CONT_SERVICO').val()+1));
		
		vlr1 = somaValor($('#VALOR_SERVICO').val() , number_format( data, '2', ',', '.' ));
		$('#VALOR_SERVICO').val(number_format( vlr1, '2', ',', '.' ));
		
		vlr2 = vlr1 - calculaDesconto(vlr1, 15);
		$('#VALOR_DESCONTO').val(number_format( vlr2, '2', ',', '.' ));
	}
	,
	removeValor = function(data){
		$('#CONT_SERVICO').val(parseInt($('#CONT_SERVICO').val()-1));
		
		vlr1 = subtraiValor($('#VALOR_SERVICO').val() ,  number_format( data, '2', ',', '.' ));
		$('#VALOR_SERVICO').val(number_format( vlr1, '2', ',', '.' ));
		
		vlr2 = vlr1 - calculaDesconto(vlr1, 15);
		$('#VALOR_DESCONTO').val(number_format( vlr2, '2', ',', '.' ));
	}
	,
	somaValor = function(vlInicial, vlAdicionado){
        return (parseFloat(vlInicial.replace(/\./g,"").replace(",",".")) + parseFloat(vlAdicionado.replace(/\./g,"").replace(",",".")));
    }
	,
	subtraiValor = function(vlInicial, vlSubtraido){
        return (parseFloat(vlInicial.replace(/\./g,"").replace(",",".")) - parseFloat(vlSubtraido.replace(/\./g,"").replace(",",".")));
    }
	,
	multiplicaValor = function(vlInicial, vlMultiplicado){
        return (parseFloat(vlInicial.replace(/\./g,"").replace(",",".")) * parseInt(vlMultiplicado));
    }
	,
	calculaDesconto = function(vlInicial, vlDesconto){
		desc = parseFloat(vlDesconto/100);
        return (parseFloat(number_format(vlInicial, '2', '.', '' )) * desc);
    }
	,
	number_format = function( number, decimals, dec_point, thousands_sep ) {
        var n = number, c = isNaN(decimals = Math.abs(decimals)) ? 2 : decimals;
        var d = dec_point == undefined ? "," : dec_point;
        var t = thousands_sep == undefined ? "." : thousands_sep, s = n < 0 ? "-" : "";
        var i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
        return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
    }
	,
	montaCalendario = function(idTecnico){
		$('#calendar').fullCalendar('destroy');
		$('#calendar').fullCalendar({
            header: {
                left: 'prev,next today',
                center: 'title',
                right: 'month,agendaWeek,agendaDay'
            },
            editable: true,
            monthNames: ['Janeiro', 'Favereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'],
            monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun','Jul','Ago','Set','Out','Nov','Dez'],
            dayNames:['Domingo', 'Segunda-feira', 'Terça-feira', 'Quarta-feira', 'Quinta-feira', 'Sexta-feira', 'Sábado'],
            dayNamesShort :['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado'],
            buttonText :{
                prev:     '&nbsp;&#9668;&nbsp;',  // left triangle
                next:     '&nbsp;&#9658;&nbsp;',  // right triangle
                prevYear: '&nbsp;&lt;&lt;&nbsp;', // <<
                nextYear: '&nbsp;&gt;&gt;&nbsp;', // >>
                today:    'hoje',
                month:    'mês',
                week:     'semana',
                day:      'dia'
            },
            events: "buscaAgenda.php?idTecnico="+idTecnico,
            eventClick: function(event) {
            	abreModal(event.id,'detalheServico.php');
            },
            timeFormat: 'H(:mm)'/*,
            month: 'ddd',    
            week: 'ddd d/M', 
            day: 'dddd d/M'*/
        });
	}
	,
	listarChamadosPorUsuario = function(obj){
		$('#calendar').fullCalendar('destroy');
		montaCalendario(obj.value);
	}
	,
	abreModal = function(id,url){
		$("#divModal").html("");
        $('#divModal').load(url, 
        					{ id : id}, 
        					function() {}
        );
        $("#divModal").dialog({
            width: 650,
            height: 500,
            modal: true,
            autoOpen: false,
            show:("blind"),
            hide:("explode"),
            close: function(){
                $(this).html("");
            }
        });
        $("#divModal").dialog("open");
	}
	,
	fechaModal = function(){
		$("#divModal").dialog("destroy");
	}
	,
	resetSenha = function(val){
		if(val != "" && val != "Login do Usuário"){
			$.post('principal/resetSenha.php',
				   {id:val},
				   function(data){
					   if(data == '1'){
						   alert('Nova senha encaminhada para seu email.');
					   }else if(data == '2'){
						   alert('Nova senha encaminhada para seu email.');
					   }else if(data == 3){
						   alert('Login não localizado.');
					   }
				   }
			);
		}else{
			alert('Informe o login.');
		}
	}
	,
	verificaTecnico = function(val){
		if(val != "" && val != null){
			$.post('verificaTecnico.php',
				   {id:val,
				   data:$('#DPS').val(),
				   hora:$('#HPS').val()},
				   function(data){
					   if(data == '1'){
						   $('#idUsuario').find('option[value=""]').attr('selected',true);
						   alert('Técnico já atribuído para esse horário.');
					   }
				   }
			);
		}
	}
	,
	imprimeRel = function(){
		window.open('imprimeRelatorio.php');
	}
});